package com.atguigu.lease.web.admin.task;

import com.atguigu.lease.web.admin.service.LeaseAgreementService;
import jakarta.annotation.Resource;
import org.joda.time.DateTime;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

@Component
@EnableScheduling //开启定时任务
public class StgyAdminTask {
    @Resource
    LeaseAgreementService leaseAgreementService;
    //标注的方法就是一个定时任务
    //cron表达式由7位组成  最后两位(周和年)不能一样，一般最后一位使用问号
    // 秒 分 时 日  月 周 年  springtask不支持年 只能使用前六位
//    @Scheduled(cron = "0/5,11,22,33,44 41 * * * *")
    //在线生成cron表达式：https://www.pppet.net/
//    @Scheduled(cron = "*/5 * * * * *")
    // 凌晨两三点左右 空闲时 执行预约状态的检查 更新状态
    @Scheduled(cron = "0 0 3 * * *")
    public void checkAgreementStatus(){
//        System.out.println(new DateTime().toString("yyyy-MM-dd HH:mm:ss"));
        leaseAgreementService.checkAgreementStatus();
    }

    public static void main(String[] args) {
        //使用当前时间创建对象: 获取0点0分0秒的 时间毫秒数
        DateTime dateTime1 = new DateTime().withTimeAtStartOfDay();
        System.out.println(dateTime1.toString("yyyy-MM-dd HH:mm:ss"));
        DateTime dateTime2 = new DateTime("2024-09-01").withTimeAtStartOfDay();
        System.out.println(dateTime2.toString("yyyy-MM-dd HH:mm:ss"));

        boolean after = dateTime1.isAfter(dateTime2);
        boolean before = dateTime1.isBefore(dateTime2);
        System.out.println("before = " + before);
        System.out.println("after = " + after);
        //当前时间+2天 是否在今天之后
        System.out.println("dateTime2.plusDays(2).isAfter(dateTime1) = " + dateTime2.plusDays(2).isAfter(dateTime1));
    }
}
